/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BusinessTier;

import DataTier.AditamentoDAO;
import EntitiesTier.ClAditamento;
import java.io.IOException;
import java.util.List;
/**
 *
 * @author Douglas
 */
public class AditamentoBUS 
{
    public List<ClAditamento> listar() throws Exception
    {
        try
        {
            AditamentoDAO dao = new AditamentoDAO();
            return dao.todos();
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }    
    }
    
    public int inserir(ClAditamento obj) throws Exception
    {
        try
        {
            if(valida_adicao(obj))
            {
                AditamentoDAO dao = new AditamentoDAO();
                obj.setADIT_COD(dao.incluir(obj));
            }
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
        }
        finally
        {
           return obj.getADIT_COD();
        }
    }
    
    public void atualizar(ClAditamento obj) throws Exception
    {
        try
        {
            if(valida_adicao(obj))
            {
                AditamentoDAO dao = new AditamentoDAO();
                dao.atualizar(obj);            
            }
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
        }
    }
    
    public ClAditamento buscar(int cod_codo) throws Exception
    {
        try
        {
            AditamentoDAO dao = new AditamentoDAO();
            return dao.procurar(cod_codo);
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }
    }
    
    public List<ClAditamento> listar(int cod_cont) throws Exception
    {
        try
        {
            AditamentoDAO dao = new AditamentoDAO();
            return dao.todos(cod_cont);
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }    
    }
    
    public void excluir(int cod_cont) throws Exception
    {
        try
        {
            AditamentoDAO dao = new AditamentoDAO();
            dao.excluir(cod_cont);
        }
        catch(IOException  e)
        {
            throw new Exception("Erro: " + e.getMessage());
        }
    }
    
    public void excluir_cont(int adit_cont) throws Exception
    {
        try
        {
            AditamentoDAO dao = new AditamentoDAO();
            dao.excluir(adit_cont);
        }
        catch(IOException  e)
        {
            throw new Exception("Erro: " + e.getMessage());
        }
    }
    
    public boolean valida_adicao(ClAditamento obj) throws Exception
    {
        if(obj.getADIT_CONT() == 0 )
        {
            throw new Exception("Deve Selecionar o Contrato.");
        }

        if(obj.getADIT_MOTIVO() == null || obj.getADIT_MOTIVO() == "")
        {
            throw new Exception("Deve preencher o Motivo do Aditamento.");
        }

        if(obj.getADIT_VALOR() == 0)
        {
            throw new Exception("Deve preencher o Valor Aditado.");
        }
        return true;       
    }    
}
